This disclosure is related to pyramid filters.
In image processing it is often desirable to decompose an image, such as a scanned color image, into two or more separate image representations. For example, a color or gray-scale document image can be decomposed into background and foreground images for efficient image processing operations, such as enhancement, compression, etc., as are at times applied in a typical photocopying machine or scanner device. In this context, this operation is often referred to as a descreening operation. This descreening is also sometimes applied to remove halftone patterns that may exist in an original scanned image. For example, these halftone patterns may cause objectionable artifacts for human eyes if not properly removed. The traditional approach for this decomposition or descreening is to filter the color image in order to blur it. These blurred results are then used to assist in determining how much to blur and sharpen the image in order to produce the decomposition. Typically this blurring can be achieved using a “symmetric pyramid” filter. Symmetric pyramid finite impulse response (FIR) filters are well-known.
One disadvantage of this image processing technique, however, is that the complexity increases many fold when a number of pyramid filters of different sizes are applied in parallel in order to generate multiple blurred images, to apply the technique as just described. A brute force approach for this multiple pyramid filtering approach is to use multiple FIR filters in parallel, as illustrated in FIG. 1. Such an approach demonstrates that the design and implementation of fast “symmetric pyramid filtering” architectures to generate different blurred images in parallel from a single source image may be desirable.
The numbers provided in parenthesis for each FIR block in FIG. 1 represents the pyramid filter of corresponding length. For example, (1, 2, 1) are the filter coefficients for a symmetric pyramid finite impulse response (FIR) filter of order or length 3. Likewise, (1, 2, 3, 2, 1) are the coefficients for an FIR pyramid filter of order 5, (1, 2, 3, 4, 3, 2, 1) are the coefficients for an FOR filter of order 7, and so forth.
Unfortunately, the approach demonstrated in FIG. 1 has disadvantages. For example, inefficiency may result from redundant computations. Likewise, FIR implementations frequently employ multiplier circuits. While implementations exist to reduce or avoid the use of multipliers, such as with shifting and summing circuitry, that may then result in increased clocking and, hence, may reduce circuit through-put. A need, therefore, exists for improving pyramid filtering implementations or architectures.